<?php

class NotaDebitosController extends AppController {

    var $name = 'NotaDebitos';
    var $uses = array('NotaDebito', 'Cliente', 'Usuario');
    var $helpers = array('Formulario', 'Interfaz', 'AjaxAG');
    var $components = array('Interfaz', 'Maestro');
    var $layout = "ajax";
    var $paginate = array('limit' => 10, 'order' => array('NotaDebito.id' => 'DESC'));

    public function beforeFilter() {
        $this->validar_sesion();
    }
    
    public function afterFilter() {
        $this->auditoria();
    }
    
    public function index($busqueda = null) {
        extract($this->request->data);
        $data = null;
        $idCliente = null;
        $condiciones = array();
        $condicionesModelo = array();
        $condicionesCliente = array();
        $condiciones['NotaDebito.estatus !='] = 0;
        
        if(!empty($fechaInicio))
            $condiciones['DATE(NotaDebito.creado) BETWEEN ? AND ?'] = array($fechaInicio, $fechaFin);
        
        if(!empty($busqueda)){
            $condicionesModelo['NotaDebito.numero ILIKE'] = "%$busqueda%";
            $idCliente = $this->Cliente->buscar_clientes($busqueda);
            if (!empty($idCliente))
                $condicionesCliente['NotaDebito.cliente_id'] = $idCliente;
        } else {
            if(!empty($punto_id))
                $condiciones['NotaDebito.punto_id'] = $punto_id;
        }
        
        $tiendaSesion = $this->Session->read('tiendaBD');
        $objNotDeb = $this->Maestro->modelo('punto', 'NotaDebito', $tiendaSesion);
        $data = $this->paginate($objNotDeb, array($condiciones, 'OR' => array($condicionesModelo, $condicionesCliente)));

        $this->set('url', $busqueda);
        $this->set('data', $data);
    }
    
    public function historial() {
        extract($this->request->data);
        $data = null;
        $condiciones['DATE(NotaDebito.creado)'] = date('Y-m-d');
        
        if(!empty($punto_id))
            $condiciones['NotaDebito.punto_id'] = $punto_id;
        
        $tiendaSesion = $this->Session->read('tiendaBD');
        $objNotDeb = $this->Maestro->modelo('punto', 'NotaDebito', $tiendaSesion);
        $data = $this->paginate($objNotDeb, array($condiciones));

        $this->set('data', $data);
    }

    public function detalle() {
        extract($this->request->data);
        $id = $this->Interfaz->id($id);
        $tiendaSesion = $this->Session->read('tiendaBD');
        $objNotDeb = $this->Maestro->modelo('punto', 'NotaDebito', $tiendaSesion);
        $data = $objNotDeb->find('first', array('conditions' => array('NotaDebito.id' => $id)));
        $datosUsuario = $this->Usuario->find('first', array('fields' => 'Usuario.usuario', 'conditions' => array('Usuario.id' => $data['NotaDebito']['usuario_id'])));

        $this->set('usuario', $datosUsuario['Usuario']['usuario']);
        $this->set('url', $id);
        $this->set('data', $data);
    }
}